]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
keyring: Inherit KeyringPrompter from Gcr.SystemPrompter
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Tue, 28 May 2019 21:07:51 +0000 (23:07 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Fri, 8 Nov 2019 23:12:47 +0000 (23:12 +0000)
Keyring is just a simple wrapper to a Gcr.SystemPrompter object, so use
inheritance instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/563

js/ui/components/keyring.js

index 429fbce80d8bd7e3fdc5296df796e33738322935..c80d042f9507a78db5969893d8359ae5b0c0e528 100644 (file)
@@ -232,10 +232,11 @@ var KeyringDummyDialog = class {
     }
 };
 
-var KeyringPrompter = class {
-    constructor() {
-        this._prompter = new Gcr.SystemPrompter();
-        this._prompter.connect('new-prompt', () => {
+var KeyringPrompter = GObject.registerClass(
+class KeyringPrompter extends Gcr.SystemPrompter {
+    _init() {
+        super._init();
+        this.connect('new-prompt', () => {
             let dialog = this._enabled
                 ? new KeyringDialog()
                 : new KeyringDummyDialog();
@@ -250,7 +251,7 @@ var KeyringPrompter = class {
 
     enable() {
         if (!this._registered) {
-            this._prompter.register(Gio.DBus.session);
+            this.register(Gio.DBus.session);
             this._dbusId = Gio.DBus.session.own_name('org.gnome.keyring.SystemPrompter',
                                                      Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null);
             this._registered = true;
@@ -261,10 +262,10 @@ var KeyringPrompter = class {
     disable() {
         this._enabled = false;
 
-        if (this._prompter.prompting)
+        if (this.prompting)
             this._currentPrompt.cancel();
         this._currentPrompt = null;
     }
-};
+});
 
 var Component = KeyringPrompter;